草庐IT

AngularJS 控制器

全部标签

javascript - AngularJS 选项卡中的 Highcharts 动态(重新)调整大小

我的应用程序在各种选项卡中显示HighCharts图表(使用AngularJS)。请注意,图表会在每次选择选项卡时即时重新生成(这意味着Angular每次都会“删除或重新创建DOM树的一部分”)。我的问题是图表的大小只有在我第一次单击选项卡时是正确的。当我切换选项卡时,创建的图表大大超过了它们容器的大小。令人惊讶的是,在调整窗口大小后(即调用chart.reflow()时)图表会正确调整大小。所以我尝试了以下方法,但没有帮助:$(element).highcharts({chart:{type:'scatter',zoomType:'xy',events:{load:function(

javascript - AngularJS 多步表单验证

我关注了thistutorial关于使用UI路由器的AngularJS多步表单。该表单有效,我可以保存我的数据,但现在我对如何验证表单中的每个步骤有疑问。我有以下带有输入字段的表单:第一步LicensePlate第2步NameStreetZipcodeCityEmailTelephone第3步Chooseadate&timefromacalendar它看起来有点像这样:我有这样一个通用的基本View:在我的app.js中我有以下内容(不完整,遗漏了不重要的事情)://app.js//createourangularappandinjectngAnimateandui-router//=

javascript - AngularJS 窗口滚动事件不会触发

我知道关于这个问题有一些类似的问题,但是我没有一个解决方案可以帮助我。我正在使用AngularJS并想检测滚动事件。我尝试了很多关于如何获取事件的版本,但是最多它会在第一次加载时触发,然后再也不会触发。我最后尝试的代码如下:$($window).on('scroll',alert('scrolled'));但我也试过这个:Jquery.on('scroll')notfiringtheeventwhilescrolling或者只是简单的JQuery.scroll()事件window.onscroll=function(ev)...还有很多,但没有任何效果。谁能告诉我我做错了什么?更新:我

javascript - 在 Chrome 中将对象记录到控制台的解决方法

如果你执行这段代码:varfoo={bar:'baz'};window.console.log(foo);foo.bar='bla';控制台在扩展对象后显示:(记录对象和数组时,记录的不是运行时值)这个bug是一年前记录的:http://code.google.com/p/chromium/issues/detail?id=50316是否有在Chrome中记录对象的解决方法? 最佳答案 我只在需要时使用JSON.stringify。不知道它是否适合您,但它对于调试目的来说既简单又有效。这对于其中包含函数引用的对象来说并不好,所以如果

javascript - 将 Safari 6 控制台的上下文更改为页面上的 iframe

我知道Chrome让您使用下拉菜单选择控制台执行的上下文,Firebug让您cd()进入iframe。我不知道如何更改Safari控制台中的上下文。有谁知道如何做到这一点? 最佳答案 与chrome和firefox不同,Safari没有真正支持此功能,唯一的选择似乎是从控制台访问窗口对象。正如您正确指出的那样,这将触发跨域策略问题,但是如果您在mac上运行(由于某些原因这在windows上不起作用)您可以使用open-a'/Applications/Safari.app'--args--disable-web-security绕过这

javascript - 类似 url 的 AngularJS 正则表达式路由以加载不同的 Controller 和 View

我有一个类似的路由,它应该根据参数是否为数字来加载不同的View和Controller。示例:/artists/2应该ArtistsIndexController有一个View/www/artists/index.html/artists/name应该ArtistsProfileController有一个View/www/artists/profile.html理想情况下我会使用类似的东西:$routeProvider.when("/artists/:page",{templateUrl:"/www/artists/index.html",controller:"ArtistsInde

javascript - 如何使用 Jasmine 在 AngularJS 中测试 .catch Promise 返回?

我是Javascript的新手,刚开始学习AngularJS,但我的大部分测试用例都与我发现的一些很好的示例一起使用。不幸的是,我似乎找不到任何可以帮助我测试当前案例的东西。我正在使用一个模拟服务测试一个Controller,该服务的方法返回一个promise。我希望模拟服务返回一个错误,以便在Controller方法中执行“.catch”block。我可以通过几种方式判断它没有被正确调用:我正在使用istanbul用于代码覆盖,它告诉我我没有覆盖“catch”'.catch'block中的代码没有被执行,据我通过调试得知被测Controller,具体需要测试$scope.login中

javascript - 什么样的对象在控制台中显示为 [object Text]?

假设我有以下元素:Hereissomeemphasizedtext!在Javascript控制台中,我将使用jQuery获取其内容:>vartheContents=$('Hereissomeemphasizedtext!').contents();theContents现在是一个数组,如下所示:>theContents["Hereissome",​emphasized​​,"text!"]到目前为止一切顺利;它似乎是一个数组,其中元素0和2是字符串,元素1是一个jQuery对象。如果我只输出第一个元素,似乎证实了我的猜测:>theContents[0]"Hereissome"但是,如果

javascript - 使用 Firefox 将 JavaScript 控制台记录到日志文件中

我们有一个在kiosk模式Firefox中运行的Web应用程序,使用RKiosk扩展来实现这一点。我们怀疑我们在系统中有一个非常罕见的错误,它会导致JavaScript错误。但是,因为我们无法访问JavaScript控制台,所以我们无法检查日志。我正在寻找一个选项,让Firefox将所有JavaScript控制台消息记录到一个文件中,而不管打开的选项卡和页面如何。我似乎找不到任何扩展名。我已经在使用log4javascript将错误发送回服务器,但似乎我们的应用程序以完全跳过日志记录的方式崩溃。 最佳答案 写入文件对我来说听起来像是

javascript - AngularJS 中 input[date] 和 Moment.js 的绑定(bind)

为了提出问题,我准备了一个简化的例子:......angular.module('dateInputExample',[]).controller('DateController',['$scope',function($scope){$scope.selectedMoment=moment();//...morecode...}]);基本上,我只需要在模型(moment.js的日期)和View(输入[日期]字段)之间进行绑定(bind)即可正常工作——当模型更新时,日期输入也会更新,反之亦然。显然,尝试上面的例子会给你带来模型不是Date类型的错误。这就是为什么我要问有经验的Angu